// File: std/stl_function.cpp
#include <functional> // std::binary_function
#include <functional> // std::equal_to
#include <iterator> // __gnu_cxx::__normal_iterator
#include <memory> // std::allocator
#include <sstream> // __str__
#include <string> // std::basic_string
#include <string> // std::char_traits

#include <functional>
#include <pybind11/pybind11.h>
#include <string>

#ifndef BINDER_PYBIND11_TYPE_CASTER
	#define BINDER_PYBIND11_TYPE_CASTER
	PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>)
	PYBIND11_DECLARE_HOLDER_TYPE(T, T*)
	PYBIND11_MAKE_OPAQUE(std::shared_ptr<void>)
#endif

void bind_std_stl_function(std::function< pybind11::module &(std::string const &namespace_) > &M)
{
	{ // std::binary_function file:bits/stl_function.h line:
		pybind11::class_<std::binary_function<float,float,bool>, std::shared_ptr<std::binary_function<float,float,bool>>> cl(M("std"), "binary_function_float_float_bool_t", "");
		cl.def( pybind11::init( [](std::binary_function<float,float,bool> const &o){ return new std::binary_function<float,float,bool>(o); } ) );
		cl.def( pybind11::init( [](){ return new std::binary_function<float,float,bool>(); } ) );
		cl.def("assign", (struct std::binary_function<float, float, bool> & (std::binary_function<float,float,bool>::*)(const struct std::binary_function<float, float, bool> &)) &std::binary_function<float, float, bool>::operator=, "C++: std::binary_function<float, float, bool>::operator=(const struct std::binary_function<float, float, bool> &) --> struct std::binary_function<float, float, bool> &", pybind11::return_value_policy::automatic, pybind11::arg(""));
	}
	{ // std::binary_function file:bits/stl_function.h line:
		pybind11::class_<std::binary_function<std::string,std::string,bool>, std::shared_ptr<std::binary_function<std::string,std::string,bool>>> cl(M("std"), "binary_function_std_string_std_string_bool_t", "");
		cl.def( pybind11::init( [](std::binary_function<std::string,std::string,bool> const &o){ return new std::binary_function<std::string,std::string,bool>(o); } ) );
		cl.def( pybind11::init( [](){ return new std::binary_function<std::string,std::string,bool>(); } ) );
		cl.def("assign", (struct std::binary_function<std::string, std::string, bool> & (std::binary_function<std::string,std::string,bool>::*)(const struct std::binary_function<std::string, std::string, bool> &)) &std::binary_function<std::string, std::string, bool>::operator=, "C++: std::binary_function<std::string, std::string, bool>::operator=(const struct std::binary_function<std::string, std::string, bool> &) --> struct std::binary_function<std::string, std::string, bool> &", pybind11::return_value_policy::automatic, pybind11::arg(""));
	}
	{ // std::equal_to file:bits/stl_function.h line:
		pybind11::class_<std::equal_to<float>, std::shared_ptr<std::equal_to<float>>, std::binary_function<float,float,bool>> cl(M("std"), "equal_to_float_t", "");
		cl.def( pybind11::init( [](){ return new std::equal_to<float>(); } ) );
		cl.def("__call__", (bool (std::equal_to<float>::*)(const float &, const float &) const) &std::equal_to<float>::operator(), "C++: std::equal_to<float>::operator()(const float &, const float &) const --> bool", pybind11::arg("__x"), pybind11::arg("__y"));
		cl.def("assign", (struct std::binary_function<float, float, bool> & (std::binary_function<float,float,bool>::*)(const struct std::binary_function<float, float, bool> &)) &std::binary_function<float, float, bool>::operator=, "C++: std::binary_function<float, float, bool>::operator=(const struct std::binary_function<float, float, bool> &) --> struct std::binary_function<float, float, bool> &", pybind11::return_value_policy::automatic, pybind11::arg(""));
	}
	{ // std::equal_to file:bits/stl_function.h line:
		pybind11::class_<std::equal_to<std::string>, std::shared_ptr<std::equal_to<std::string>>, std::binary_function<std::string,std::string,bool>> cl(M("std"), "equal_to_std_string_t", "");
		cl.def( pybind11::init( [](){ return new std::equal_to<std::string>(); } ) );
		cl.def("__call__", (bool (std::equal_to<std::string>::*)(const std::string &, const std::string &) const) &std::equal_to<std::string >::operator(), "C++: std::equal_to<std::string >::operator()(const std::string &, const std::string &) const --> bool", pybind11::arg("__x"), pybind11::arg("__y"));
		cl.def("assign", (struct std::binary_function<std::string, std::string, bool> & (std::binary_function<std::string,std::string,bool>::*)(const struct std::binary_function<std::string, std::string, bool> &)) &std::binary_function<std::string, std::string, bool>::operator=, "C++: std::binary_function<std::string, std::string, bool>::operator=(const struct std::binary_function<std::string, std::string, bool> &) --> struct std::binary_function<std::string, std::string, bool> &", pybind11::return_value_policy::automatic, pybind11::arg(""));
	}
}


// File: std/functional_hash.cpp
#include <deque> // std::deque
#include <forward_list> // std::forward_list
#include <functional> // std::hash
#include <functional> // std::less
#include <iterator> // __gnu_cxx::__normal_iterator
#include <list> // std::list
#include <map> // std::_Rb_tree_const_iterator
#include <map> // std::_Rb_tree_iterator
#include <map> // std::map
#include <memory> // std::allocator
#include <sstream> // __str__
#include <string> // std::basic_string
#include <string> // std::char_traits
#include <string> // std::hash
#include <utility> // std::pair
#include <vector> // std::vector

#include <functional>
#include <pybind11/pybind11.h>
#include <string>

#ifndef BINDER_PYBIND11_TYPE_CASTER
	#define BINDER_PYBIND11_TYPE_CASTER
	PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>)
	PYBIND11_DECLARE_HOLDER_TYPE(T, T*)
	PYBIND11_MAKE_OPAQUE(std::shared_ptr<void>)
#endif

void bind_std_functional_hash(std::function< pybind11::module &(std::string const &namespace_) > &M)
{
	{ // std::hash file:bits/functional_hash.h line:
		pybind11::class_<std::hash<float>, std::shared_ptr<std::hash<float>>> cl(M("std"), "hash_float_t", "");
		cl.def( pybind11::init( [](){ return new std::hash<float>(); } ) );
		cl.def( pybind11::init( [](std::hash<float> const &o){ return new std::hash<float>(o); } ) );
		cl.def("__call__", (std::size_t (std::hash<float>::*)(float) const) &std::hash<float>::operator(), "C++: std::hash<float>::operator()(float) const --> std::size_t", pybind11::arg("__val"));
		cl.def("assign", (struct std::hash<float> & (std::hash<float>::*)(const struct std::hash<float> &)) &std::hash<float>::operator=, "C++: std::hash<float>::operator=(const struct std::hash<float> &) --> struct std::hash<float> &", pybind11::return_value_policy::automatic, pybind11::arg(""));
	}
	{ // std::hash file:bits/basic_string.h line:
		pybind11::class_<std::hash<std::string>, std::shared_ptr<std::hash<std::string>>> cl(M("std"), "hash_std_string_t", "");
		cl.def( pybind11::init( [](){ return new std::hash<std::string>(); } ) );
		cl.def("__call__", (std::size_t (std::hash<std::string>::*)(const std::string &) const) &std::hash<std::string >::operator(), "C++: std::hash<std::string >::operator()(const std::string &) const --> std::size_t", pybind11::arg("__s"));
	}
	{ // std::map file:bits/stl_map.h line:
		pybind11::class_<std::map<float,int>, std::shared_ptr<std::map<float,int>>> cl(M("std"), "map_float_int_t", "");
		cl.def( pybind11::init( [](){ return new std::map<float,int>(); } ) );
		cl.def( pybind11::init( [](const struct std::less<float> & a0){ return new std::map<float,int>(a0); } ), "doc" , pybind11::arg("__comp"));
		cl.def( pybind11::init<const struct std::less<float> &, const class std::allocator<struct std::pair<const float, int> > &>(), pybind11::arg("__comp"), pybind11::arg("__a") );

		cl.def( pybind11::init( [](std::map<float,int> const &o){ return new std::map<float,int>(o); } ) );
		cl.def("assign", (class std::map<float, int, struct std::less<float>, class std::allocator<struct std::pair<const float, int> > > & (std::map<float,int>::*)(const class std::map<float, int, struct std::less<float>, class std::allocator<struct std::pair<const float, int> > > &)) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::operator=, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::operator=(const class std::map<float, int, struct std::less<float>, class std::allocator<struct std::pair<const float, int> > > &) --> class std::map<float, int, struct std::less<float>, class std::allocator<struct std::pair<const float, int> > > &", pybind11::return_value_policy::automatic, pybind11::arg("__x"));
		cl.def("get_allocator", (class std::allocator<struct std::pair<const float, int> > (std::map<float,int>::*)() const) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::get_allocator, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::get_allocator() const --> class std::allocator<struct std::pair<const float, int> >");
		cl.def("empty", (bool (std::map<float,int>::*)() const) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::empty, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::empty() const --> bool");
		cl.def("size", (unsigned long (std::map<float,int>::*)() const) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::size, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::size() const --> unsigned long");
		cl.def("max_size", (unsigned long (std::map<float,int>::*)() const) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::max_size, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::max_size() const --> unsigned long");
		cl.def("__getitem__", (int & (std::map<float,int>::*)(const float &)) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::operator[], "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::operator[](const float &) --> int &", pybind11::return_value_policy::automatic, pybind11::arg("__k"));
		cl.def("at", (int & (std::map<float,int>::*)(const float &)) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::at, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::at(const float &) --> int &", pybind11::return_value_policy::automatic, pybind11::arg("__k"));
		cl.def("insert", (struct std::pair<struct std::_Rb_tree_iterator<struct std::pair<const float, int> >, bool> (std::map<float,int>::*)(const struct std::pair<const float, int> &)) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::insert, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::insert(const struct std::pair<const float, int> &) --> struct std::pair<struct std::_Rb_tree_iterator<struct std::pair<const float, int> >, bool>", pybind11::arg("__x"));
		cl.def("erase", (unsigned long (std::map<float,int>::*)(const float &)) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::erase, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::erase(const float &) --> unsigned long", pybind11::arg("__x"));
		cl.def("swap", (void (std::map<float,int>::*)(class std::map<float, int, struct std::less<float>, class std::allocator<struct std::pair<const float, int> > > &)) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::swap, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::swap(class std::map<float, int, struct std::less<float>, class std::allocator<struct std::pair<const float, int> > > &) --> void", pybind11::arg("__x"));
		cl.def("clear", (void (std::map<float,int>::*)()) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::clear, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::clear() --> void");
		cl.def("key_comp", (struct std::less<float> (std::map<float,int>::*)() const) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::key_comp, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::key_comp() const --> struct std::less<float>");
		cl.def("count", (unsigned long (std::map<float,int>::*)(const float &) const) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::count, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::count(const float &) const --> unsigned long", pybind11::arg("__x"));
		cl.def("equal_range", (struct std::pair<struct std::_Rb_tree_iterator<struct std::pair<const float, int> >, struct std::_Rb_tree_iterator<struct std::pair<const float, int> > > (std::map<float,int>::*)(const float &)) &std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::equal_range, "C++: std::map<float, int, std::less<float>, std::allocator<std::pair<const float, int> > >::equal_range(const float &) --> struct std::pair<struct std::_Rb_tree_iterator<struct std::pair<const float, int> >, struct std::_Rb_tree_iterator<struct std::pair<const float, int> > >", pybind11::arg("__x"));
	}
	{ // std::map file:bits/stl_map.h line:
		pybind11::class_<std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>, std::shared_ptr<std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>>> cl(M("std"), "map_std_string_std_list_std_forward_list_std_deque_std_vector_double_t", "");
		cl.def( pybind11::init( [](){ return new std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>(); } ) );
		cl.def( pybind11::init( [](const struct std::less<std::string > & a0){ return new std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>(a0); } ), "doc" , pybind11::arg("__comp"));
		cl.def( pybind11::init<const struct std::less<std::string > &, const class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > &>(), pybind11::arg("__comp"), pybind11::arg("__a") );

		cl.def( pybind11::init( [](std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>> const &o){ return new std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>(o); } ) );
		cl.def("assign", (class std::map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::less<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > & (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)(const class std::map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::less<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &)) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::operator=, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::operator=(const class std::map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::less<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &) --> class std::map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::less<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &", pybind11::return_value_policy::automatic, pybind11::arg("__x"));
		cl.def("get_allocator", (class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)() const) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::get_allocator, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::get_allocator() const --> class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > >");
		cl.def("empty", (bool (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)() const) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::empty, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::empty() const --> bool");
		cl.def("size", (unsigned long (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)() const) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::size, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::size() const --> unsigned long");
		cl.def("max_size", (unsigned long (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)() const) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_size, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_size() const --> unsigned long");
		cl.def("__getitem__", (class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > & (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)(const std::string &)) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::operator[], "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::operator[](const std::string &) --> class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &", pybind11::return_value_policy::automatic, pybind11::arg("__k"));
		cl.def("at", (class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > & (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)(const std::string &)) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::at, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::at(const std::string &) --> class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &", pybind11::return_value_policy::automatic, pybind11::arg("__k"));
		cl.def("insert", (struct std::pair<struct std::_Rb_tree_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > >, bool> (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)(const struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > &)) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::insert, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::insert(const struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > &) --> struct std::pair<struct std::_Rb_tree_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > >, bool>", pybind11::arg("__x"));
		cl.def("erase", (unsigned long (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)(const std::string &)) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::erase, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::erase(const std::string &) --> unsigned long", pybind11::arg("__x"));
		cl.def("swap", (void (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)(class std::map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::less<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &)) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::swap, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::swap(class std::map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::less<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &) --> void", pybind11::arg("__x"));
		cl.def("clear", (void (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)()) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::clear, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::clear() --> void");
		cl.def("key_comp", (struct std::less<std::string > (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)() const) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::key_comp, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::key_comp() const --> struct std::less<std::string >");
		cl.def("count", (unsigned long (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)(const std::string &) const) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::count, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::count(const std::string &) const --> unsigned long", pybind11::arg("__x"));
		cl.def("equal_range", (struct std::pair<struct std::_Rb_tree_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > >, struct std::_Rb_tree_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > (std::map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>>::*)(const std::string &)) &std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::equal_range, "C++: std::map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::less<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::equal_range(const std::string &) --> struct std::pair<struct std::_Rb_tree_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > >, struct std::_Rb_tree_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > >", pybind11::arg("__x"));
	}
}


// File: std/unordered_map.cpp
#include <deque> // std::deque
#include <forward_list> // std::forward_list
#include <functional> // std::equal_to
#include <functional> // std::hash
#include <iterator> // __gnu_cxx::__normal_iterator
#include <list> // std::list
#include <memory> // std::allocator
#include <sstream> // __str__
#include <string> // std::basic_string
#include <string> // std::char_traits
#include <string> // std::hash
#include <unordered_map> // std::__detail::_Node_const_iterator
#include <unordered_map> // std::__detail::_Node_iterator
#include <unordered_map> // std::unordered_map
#include <utility> // std::pair
#include <vector> // std::vector

#include <functional>
#include <pybind11/pybind11.h>
#include <string>

#ifndef BINDER_PYBIND11_TYPE_CASTER
	#define BINDER_PYBIND11_TYPE_CASTER
	PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>)
	PYBIND11_DECLARE_HOLDER_TYPE(T, T*)
	PYBIND11_MAKE_OPAQUE(std::shared_ptr<void>)
#endif

void bind_std_unordered_map(std::function< pybind11::module &(std::string const &namespace_) > &M)
{
	{ // std::unordered_map file:bits/unordered_map.h line:
		pybind11::class_<std::unordered_map<float,int>, std::shared_ptr<std::unordered_map<float,int>>> cl(M("std"), "unordered_map_float_int_t", "");
		cl.def( pybind11::init( [](){ return new std::unordered_map<float,int>(); } ), "doc" );
		cl.def( pybind11::init( [](unsigned long const & a0){ return new std::unordered_map<float,int>(a0); } ), "doc" , pybind11::arg("__n"));
		cl.def( pybind11::init( [](unsigned long const & a0, const struct std::hash<float> & a1){ return new std::unordered_map<float,int>(a0, a1); } ), "doc" , pybind11::arg("__n"), pybind11::arg("__hf"));
		cl.def( pybind11::init( [](unsigned long const & a0, const struct std::hash<float> & a1, const struct std::equal_to<float> & a2){ return new std::unordered_map<float,int>(a0, a1, a2); } ), "doc" , pybind11::arg("__n"), pybind11::arg("__hf"), pybind11::arg("__eql"));
		cl.def( pybind11::init<unsigned long, const struct std::hash<float> &, const struct std::equal_to<float> &, const class std::allocator<struct std::pair<const float, int> > &>(), pybind11::arg("__n"), pybind11::arg("__hf"), pybind11::arg("__eql"), pybind11::arg("__a") );

		cl.def( pybind11::init( [](std::unordered_map<float,int> const &o){ return new std::unordered_map<float,int>(o); } ) );
		cl.def("assign", (class std::unordered_map<float, int, struct std::hash<float>, struct std::equal_to<float>, class std::allocator<struct std::pair<const float, int> > > & (std::unordered_map<float,int>::*)(const class std::unordered_map<float, int, struct std::hash<float>, struct std::equal_to<float>, class std::allocator<struct std::pair<const float, int> > > &)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::operator=, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::operator=(const class std::unordered_map<float, int, struct std::hash<float>, struct std::equal_to<float>, class std::allocator<struct std::pair<const float, int> > > &) --> class std::unordered_map<float, int, struct std::hash<float>, struct std::equal_to<float>, class std::allocator<struct std::pair<const float, int> > > &", pybind11::return_value_policy::automatic, pybind11::arg(""));
		cl.def("get_allocator", (class std::allocator<struct std::pair<const float, int> > (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::get_allocator, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::get_allocator() const --> class std::allocator<struct std::pair<const float, int> >");
		cl.def("empty", (bool (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::empty, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::empty() const --> bool");
		cl.def("size", (unsigned long (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::size, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::size() const --> unsigned long");
		cl.def("max_size", (unsigned long (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::max_size, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::max_size() const --> unsigned long");
		cl.def("insert", (struct std::pair<struct std::__detail::_Node_iterator<struct std::pair<const float, int>, false, false>, bool> (std::unordered_map<float,int>::*)(const struct std::pair<const float, int> &)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::insert, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::insert(const struct std::pair<const float, int> &) --> struct std::pair<struct std::__detail::_Node_iterator<struct std::pair<const float, int>, false, false>, bool>", pybind11::arg("__x"));
		cl.def("erase", (unsigned long (std::unordered_map<float,int>::*)(const float &)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::erase, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::erase(const float &) --> unsigned long", pybind11::arg("__x"));
		cl.def("clear", (void (std::unordered_map<float,int>::*)()) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::clear, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::clear() --> void");
		cl.def("swap", (void (std::unordered_map<float,int>::*)(class std::unordered_map<float, int, struct std::hash<float>, struct std::equal_to<float>, class std::allocator<struct std::pair<const float, int> > > &)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::swap, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::swap(class std::unordered_map<float, int, struct std::hash<float>, struct std::equal_to<float>, class std::allocator<struct std::pair<const float, int> > > &) --> void", pybind11::arg("__x"));
		cl.def("hash_function", (struct std::hash<float> (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::hash_function, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::hash_function() const --> struct std::hash<float>");
		cl.def("key_eq", (struct std::equal_to<float> (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::key_eq, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::key_eq() const --> struct std::equal_to<float>");
		cl.def("count", (unsigned long (std::unordered_map<float,int>::*)(const float &) const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::count, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::count(const float &) const --> unsigned long", pybind11::arg("__x"));
		cl.def("equal_range", (struct std::pair<struct std::__detail::_Node_iterator<struct std::pair<const float, int>, false, false>, struct std::__detail::_Node_iterator<struct std::pair<const float, int>, false, false> > (std::unordered_map<float,int>::*)(const float &)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::equal_range, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::equal_range(const float &) --> struct std::pair<struct std::__detail::_Node_iterator<struct std::pair<const float, int>, false, false>, struct std::__detail::_Node_iterator<struct std::pair<const float, int>, false, false> >", pybind11::arg("__x"));
		cl.def("__getitem__", (int & (std::unordered_map<float,int>::*)(const float &)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::operator[], "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::operator[](const float &) --> int &", pybind11::return_value_policy::automatic, pybind11::arg("__k"));
		cl.def("at", (int & (std::unordered_map<float,int>::*)(const float &)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::at, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::at(const float &) --> int &", pybind11::return_value_policy::automatic, pybind11::arg("__k"));
		cl.def("bucket_count", (unsigned long (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::bucket_count, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::bucket_count() const --> unsigned long");
		cl.def("max_bucket_count", (unsigned long (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::max_bucket_count, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::max_bucket_count() const --> unsigned long");
		cl.def("bucket_size", (unsigned long (std::unordered_map<float,int>::*)(unsigned long) const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::bucket_size, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::bucket_size(unsigned long) const --> unsigned long", pybind11::arg("__n"));
		cl.def("bucket", (unsigned long (std::unordered_map<float,int>::*)(const float &) const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::bucket, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::bucket(const float &) const --> unsigned long", pybind11::arg("__key"));
		cl.def("load_factor", (float (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::load_factor, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::load_factor() const --> float");
		cl.def("max_load_factor", (float (std::unordered_map<float,int>::*)() const) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::max_load_factor, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::max_load_factor() const --> float");
		cl.def("max_load_factor", (void (std::unordered_map<float,int>::*)(float)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::max_load_factor, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::max_load_factor(float) --> void", pybind11::arg("__z"));
		cl.def("rehash", (void (std::unordered_map<float,int>::*)(unsigned long)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::rehash, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::rehash(unsigned long) --> void", pybind11::arg("__n"));
		cl.def("reserve", (void (std::unordered_map<float,int>::*)(unsigned long)) &std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::reserve, "C++: std::unordered_map<float, int, std::hash<float>, std::equal_to<float>, std::allocator<std::pair<const float, int> > >::reserve(unsigned long) --> void", pybind11::arg("__n"));
	}
	{ // std::unordered_map file:bits/unordered_map.h line:
		pybind11::class_<std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>, std::shared_ptr<std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>>> cl(M("std"), "unordered_map_std_string_std_list_std_forward_list_std_deque_std_vector_double_std_hash_std_string_std_equal_to_std_string_std_allocator_std_pair_const_std_string_std_list_std_forward_list_std_deque_std_vector_double_t", "");
		cl.def( pybind11::init( [](){ return new std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>(); } ), "doc" );
		cl.def( pybind11::init( [](unsigned long const & a0){ return new std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>(a0); } ), "doc" , pybind11::arg("__n"));
		cl.def( pybind11::init( [](unsigned long const & a0, const struct std::hash<std::string> & a1){ return new std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>(a0, a1); } ), "doc" , pybind11::arg("__n"), pybind11::arg("__hf"));
		cl.def( pybind11::init( [](unsigned long const & a0, const struct std::hash<std::string> & a1, const struct std::equal_to<std::string > & a2){ return new std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>(a0, a1, a2); } ), "doc" , pybind11::arg("__n"), pybind11::arg("__hf"), pybind11::arg("__eql"));
		cl.def( pybind11::init<unsigned long, const struct std::hash<std::string> &, const struct std::equal_to<std::string > &, const class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > &>(), pybind11::arg("__n"), pybind11::arg("__hf"), pybind11::arg("__eql"), pybind11::arg("__a") );

		cl.def( pybind11::init( [](std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >> const &o){ return new std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>(o); } ) );
		cl.def("assign", (class std::unordered_map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::hash<std::string>, struct std::equal_to<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > & (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(const class std::unordered_map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::hash<std::string>, struct std::equal_to<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::operator=, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::operator=(const class std::unordered_map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::hash<std::string>, struct std::equal_to<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &) --> class std::unordered_map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::hash<std::string>, struct std::equal_to<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &", pybind11::return_value_policy::automatic, pybind11::arg(""));
		cl.def("get_allocator", (class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::get_allocator, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::get_allocator() const --> class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > >");
		cl.def("empty", (bool (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::empty, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::empty() const --> bool");
		cl.def("size", (unsigned long (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::size, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::size() const --> unsigned long");
		cl.def("max_size", (unsigned long (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_size, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_size() const --> unsigned long");
		cl.def("insert", (struct std::pair<struct std::__detail::_Node_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > >, false, true>, bool> (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(const struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > &)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::insert, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::insert(const struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > &) --> struct std::pair<struct std::__detail::_Node_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > >, false, true>, bool>", pybind11::arg("__x"));
		cl.def("erase", (unsigned long (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(const std::string &)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::erase, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::erase(const std::string &) --> unsigned long", pybind11::arg("__x"));
		cl.def("clear", (void (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)()) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::clear, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::clear() --> void");
		cl.def("swap", (void (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(class std::unordered_map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::hash<std::string>, struct std::equal_to<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::swap, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::swap(class std::unordered_map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::hash<std::string>, struct std::equal_to<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > > &) --> void", pybind11::arg("__x"));
		cl.def("hash_function", (struct std::hash<std::string> (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::hash_function, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::hash_function() const --> struct std::hash<std::string>");
		cl.def("key_eq", (struct std::equal_to<std::string > (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::key_eq, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::key_eq() const --> struct std::equal_to<std::string >");
		cl.def("count", (unsigned long (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(const std::string &) const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::count, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::count(const std::string &) const --> unsigned long", pybind11::arg("__x"));
		cl.def("equal_range", (struct std::pair<struct std::__detail::_Node_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > >, false, true>, struct std::__detail::_Node_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > >, false, true> > (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(const std::string &)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::equal_range, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::equal_range(const std::string &) --> struct std::pair<struct std::__detail::_Node_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > >, false, true>, struct std::__detail::_Node_iterator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > >, false, true> >", pybind11::arg("__x"));
		cl.def("__getitem__", (class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > & (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(const std::string &)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::operator[], "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::operator[](const std::string &) --> class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &", pybind11::return_value_policy::automatic, pybind11::arg("__k"));
		cl.def("at", (class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > & (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(const std::string &)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::at, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::at(const std::string &) --> class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &", pybind11::return_value_policy::automatic, pybind11::arg("__k"));
		cl.def("bucket_count", (unsigned long (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::bucket_count, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::bucket_count() const --> unsigned long");
		cl.def("max_bucket_count", (unsigned long (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_bucket_count, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_bucket_count() const --> unsigned long");
		cl.def("bucket_size", (unsigned long (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(unsigned long) const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::bucket_size, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::bucket_size(unsigned long) const --> unsigned long", pybind11::arg("__n"));
		cl.def("bucket", (unsigned long (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(const std::string &) const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::bucket, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::bucket(const std::string &) const --> unsigned long", pybind11::arg("__key"));
		cl.def("load_factor", (float (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::load_factor, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::load_factor() const --> float");
		cl.def("max_load_factor", (float (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)() const) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_load_factor, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_load_factor() const --> float");
		cl.def("max_load_factor", (void (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(float)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_load_factor, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::max_load_factor(float) --> void", pybind11::arg("__z"));
		cl.def("rehash", (void (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(unsigned long)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::rehash, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::rehash(unsigned long) --> void", pybind11::arg("__n"));
		cl.def("reserve", (void (std::unordered_map<std::string,std::list<std::forward_list<std::deque<std::vector<double>>>>,std::hash<std::string>,std::equal_to<std::string >,std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > >>::*)(unsigned long)) &std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::reserve, "C++: std::unordered_map<std::string, std::list<std::forward_list<std::deque<std::vector<double>>>>, std::hash<std::string>, std::equal_to<std::string >, std::allocator<std::pair<const std::string, std::list<std::forward_list<std::deque<std::vector<double>>>> > > >::reserve(unsigned long) --> void", pybind11::arg("__n"));
	}
}


// File: std/stl_list.cpp
#include <deque> // std::deque
#include <forward_list> // std::forward_list
#include <list> // std::list
#include <memory> // std::allocator
#include <sstream> // __str__
#include <vector> // std::vector

#include <functional>
#include <pybind11/pybind11.h>
#include <string>

#ifndef BINDER_PYBIND11_TYPE_CASTER
	#define BINDER_PYBIND11_TYPE_CASTER
	PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>)
	PYBIND11_DECLARE_HOLDER_TYPE(T, T*)
	PYBIND11_MAKE_OPAQUE(std::shared_ptr<void>)
#endif

void bind_std_stl_list(std::function< pybind11::module &(std::string const &namespace_) > &M)
{
	{ // std::list file:bits/stl_list.h line:
		pybind11::class_<std::list<std::forward_list<std::deque<std::vector<double>>>>, std::shared_ptr<std::list<std::forward_list<std::deque<std::vector<double>>>>>> cl(M("std"), "list_std_forward_list_std_deque_std_vector_double_t", "");
		cl.def( pybind11::init( [](){ return new std::list<std::forward_list<std::deque<std::vector<double>>>>(); } ) );
		cl.def( pybind11::init<const class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > &>(), pybind11::arg("__a") );

		cl.def( pybind11::init<unsigned long>(), pybind11::arg("__n") );

		cl.def( pybind11::init( [](std::list<std::forward_list<std::deque<std::vector<double>>>> const &o){ return new std::list<std::forward_list<std::deque<std::vector<double>>>>(o); } ) );
		cl.def("assign", (class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > & (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)(const class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &)) &std::list<std::forward_list<std::deque<std::vector<double>>>>::operator=, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::operator=(const class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &) --> class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &", pybind11::return_value_policy::automatic, pybind11::arg("__x"));
		cl.def("get_allocator", (class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)() const) &std::list<std::forward_list<std::deque<std::vector<double>>>>::get_allocator, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::get_allocator() const --> class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > >");
		cl.def("empty", (bool (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)() const) &std::list<std::forward_list<std::deque<std::vector<double>>>>::empty, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::empty() const --> bool");
		cl.def("size", (unsigned long (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)() const) &std::list<std::forward_list<std::deque<std::vector<double>>>>::size, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::size() const --> unsigned long");
		cl.def("max_size", (unsigned long (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)() const) &std::list<std::forward_list<std::deque<std::vector<double>>>>::max_size, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::max_size() const --> unsigned long");
		cl.def("resize", (void (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)(unsigned long)) &std::list<std::forward_list<std::deque<std::vector<double>>>>::resize, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::resize(unsigned long) --> void", pybind11::arg("__new_size"));
		cl.def("front", (class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > & (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)()) &std::list<std::forward_list<std::deque<std::vector<double>>>>::front, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::front() --> class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > &", pybind11::return_value_policy::automatic);
		cl.def("back", (class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > & (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)()) &std::list<std::forward_list<std::deque<std::vector<double>>>>::back, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::back() --> class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > &", pybind11::return_value_policy::automatic);
		cl.def("pop_front", (void (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)()) &std::list<std::forward_list<std::deque<std::vector<double>>>>::pop_front, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::pop_front() --> void");
		cl.def("pop_back", (void (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)()) &std::list<std::forward_list<std::deque<std::vector<double>>>>::pop_back, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::pop_back() --> void");
		cl.def("swap", (void (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)(class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &)) &std::list<std::forward_list<std::deque<std::vector<double>>>>::swap, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::swap(class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &) --> void", pybind11::arg("__x"));
		cl.def("clear", (void (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)()) &std::list<std::forward_list<std::deque<std::vector<double>>>>::clear, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::clear() --> void");
		cl.def("unique", (void (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)()) &std::list<std::forward_list<std::deque<std::vector<double>>>>::unique, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::unique() --> void");
		cl.def("merge", (void (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)(class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &)) &std::list<std::forward_list<std::deque<std::vector<double>>>>::merge, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::merge(class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > &) --> void", pybind11::arg("__x"));
		cl.def("reverse", (void (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)()) &std::list<std::forward_list<std::deque<std::vector<double>>>>::reverse, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::reverse() --> void");
		cl.def("sort", (void (std::list<std::forward_list<std::deque<std::vector<double>>>>::*)()) &std::list<std::forward_list<std::deque<std::vector<double>>>>::sort, "C++: std::list<std::forward_list<std::deque<std::vector<double>>>>::sort() --> void");
	}
}


// File: T42_stl_names_map.cpp
#include <T42.stl.names.map.hpp> // foo
#include <deque> // std::deque
#include <forward_list> // std::forward_list
#include <functional> // std::equal_to
#include <functional> // std::hash
#include <functional> // std::less
#include <iterator> // __gnu_cxx::__normal_iterator
#include <list> // std::list
#include <map> // std::_Rb_tree_const_iterator
#include <map> // std::_Rb_tree_iterator
#include <map> // std::map
#include <memory> // std::allocator
#include <string> // std::basic_string
#include <string> // std::char_traits
#include <string> // std::hash
#include <unordered_map> // std::__detail::_Node_const_iterator
#include <unordered_map> // std::__detail::_Node_iterator
#include <unordered_map> // std::unordered_map
#include <utility> // std::pair
#include <vector> // std::vector

#include <functional>
#include <pybind11/pybind11.h>
#include <string>

#ifndef BINDER_PYBIND11_TYPE_CASTER
	#define BINDER_PYBIND11_TYPE_CASTER
	PYBIND11_DECLARE_HOLDER_TYPE(T, std::shared_ptr<T>)
	PYBIND11_DECLARE_HOLDER_TYPE(T, T*)
	PYBIND11_MAKE_OPAQUE(std::shared_ptr<void>)
#endif

void bind_T42_stl_names_map(std::function< pybind11::module &(std::string const &namespace_) > &M)
{
	// foo(class std::map<float, int, struct std::less<float>, class std::allocator<struct std::pair<const float, int> > >) file:T42.stl.names.map.hpp line:
	M("").def("foo", (void (*)(class std::map<float, int, struct std::less<float>, class std::allocator<struct std::pair<const float, int> > >)) &foo, "C++: foo(class std::map<float, int, struct std::less<float>, class std::allocator<struct std::pair<const float, int> > >) --> void", pybind11::arg(""));

	// foo(class std::unordered_map<float, int, struct std::hash<float>, struct std::equal_to<float>, class std::allocator<struct std::pair<const float, int> > >) file:T42.stl.names.map.hpp line:
	M("").def("foo", (void (*)(class std::unordered_map<float, int, struct std::hash<float>, struct std::equal_to<float>, class std::allocator<struct std::pair<const float, int> > >)) &foo, "C++: foo(class std::unordered_map<float, int, struct std::hash<float>, struct std::equal_to<float>, class std::allocator<struct std::pair<const float, int> > >) --> void", pybind11::arg(""));

	// foo(class std::map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::less<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > >) file:T42.stl.names.map.hpp line:
	M("").def("foo", (void (*)(class std::map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::less<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > >)) &foo, "C++: foo(class std::map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::less<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > >) --> void", pybind11::arg(""));

	// foo(class std::unordered_map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::hash<std::string>, struct std::equal_to<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > >) file:T42.stl.names.map.hpp line:
	M("").def("foo", (void (*)(class std::unordered_map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::hash<std::string>, struct std::equal_to<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > >)) &foo, "C++: foo(class std::unordered_map<std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > >, struct std::hash<std::string>, struct std::equal_to<std::string >, class std::allocator<struct std::pair<const std::string, class std::list<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > >, class std::allocator<class std::forward_list<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > >, class std::allocator<class std::deque<class std::vector<double, class std::allocator<double> >, class std::allocator<class std::vector<double, class std::allocator<double> > > > > > > > > > >) --> void", pybind11::arg(""));

}


#include <map>
#include <algorithm>
#include <functional>
#include <memory>
#include <stdexcept>
#include <string>

#include <pybind11/pybind11.h>

typedef std::function< pybind11::module & (std::string const &) > ModuleGetter;

void bind_std_stl_function(std::function< pybind11::module &(std::string const &namespace_) > &M);
void bind_std_functional_hash(std::function< pybind11::module &(std::string const &namespace_) > &M);
void bind_std_unordered_map(std::function< pybind11::module &(std::string const &namespace_) > &M);
void bind_std_stl_list(std::function< pybind11::module &(std::string const &namespace_) > &M);
void bind_T42_stl_names_map(std::function< pybind11::module &(std::string const &namespace_) > &M);


PYBIND11_MODULE(T42_stl_names_map, root_module) {
	root_module.doc() = "T42_stl_names_map module";

	std::map <std::string, pybind11::module> modules;
	ModuleGetter M = [&](std::string const &namespace_) -> pybind11::module & {
		auto it = modules.find(namespace_);
		if( it == modules.end() ) throw std::runtime_error("Attempt to access pybind11::module for namespace " + namespace_ + " before it was created!!!");
		return it->second;
	};

	modules[""] = root_module;

	static std::vector<std::string> const reserved_python_words {"nonlocal", "global", };

	auto mangle_namespace_name(
		[](std::string const &ns) -> std::string {
			if ( std::find(reserved_python_words.begin(), reserved_python_words.end(), ns) == reserved_python_words.end() ) return ns;
			else return ns+'_';
		}
	);

	std::vector< std::pair<std::string, std::string> > sub_modules {
		{"", "std"},
	};
	for(auto &p : sub_modules ) modules[p.first.size() ? p.first+"::"+p.second : p.second] = modules[p.first].def_submodule( mangle_namespace_name(p.second).c_str(), ("Bindings for " + p.first + "::" + p.second + " namespace").c_str() );

	//pybind11::class_<std::shared_ptr<void>>(M(""), "_encapsulated_data_");

	bind_std_stl_function(M);
	bind_std_functional_hash(M);
	bind_std_unordered_map(M);
	bind_std_stl_list(M);
	bind_T42_stl_names_map(M);

}

// Source list file: TEST/T42_stl_names_map.sources
// T42_stl_names_map.cpp
// std/stl_function.cpp
// std/functional_hash.cpp
// std/unordered_map.cpp
// std/stl_list.cpp
// T42_stl_names_map.cpp

// Modules list file: TEST/T42_stl_names_map.modules
// std 
